package com.yun.zf.admin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yun.zf.common.admin.domain.ZfOrder;
import com.yun.zf.common.admin.dto.order.OrderSearchResMo;
import com.yun.zf.common.admin.dto.order.OrderInfoDto;
import com.yun.zf.common.admin.dto.pact.OrderDto;
import com.yun.zf.common.admin.model.order.OrderMo;
import com.yun.zf.common.admin.model.pact.OrderSearchMo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author cj
 * @since 2021-07-27
 */
public interface ZfOrderService extends IService<ZfOrder> {

    public Long creatOrder(OrderMo orderMo,Long provCode, Long cityCode);

    int editOrder(OrderMo orderMo,Long provCode, Long cityCode);

    /**
     * 订单信息查询
     * @param provCode
     * @param cityCode
     * @param orderId
     * @return
     */
    public ZfOrder getOrderByOrderId(Long provCode, Long cityCode,Long orderId);


    public List<OrderSearchResMo> getOrderlist(Long provCode, Long cityCode, List<Long> ids);
    /**
     * 查询我的订单
     * @param search
     * @return
     */
    public Page<OrderSearchResMo> getOrderRes(OrderSearchMo search,Long provCode, Long cityCode,int agentNo);

    /**
     * 订单多条件搜索
     * @param search
     * @param provCode
     * @param cityCode
     * @param agentNo
     * @return
     */
    public Map<String, Object> orderSearch(OrderSearchMo search, Long provCode, Long cityCode, int agentNo);

    /**
     * 订单详情
     * @param orderId 订单号
     * @param provCode
     * @param cityCode
     */
    public OrderDto orderDetail(Long orderId, Long provCode, Long cityCode);

    public void getOrderEs(Long orderId, Long provCode, Long cityCode);

    OrderInfoDto getOrderInfo(Long orderId, Long provCode, Long cityCode);

    OrderMo bringOrder(Long orderId, Long provCode, Long cityCode);
}
